#include "common/common.h"

#define MAXLINE 1024

int main(){
    int port = 12345;
    int listenfd = server_init(port);
    if(listenfd == -1){
        perror("server_init");
        exit(1);
    }
    pid_t pid;
    struct sockaddr_in cli;
    socklen_t len;
    while(1){
        memset(&cli, 0, sizeof(cli));
        len = sizeof(cli);
        int confd = accept(listenfd, (struct sockaddr*)&cli, &len);
        if((pid = fork()) < 0){
            perror("fork");
            exot(1);
        }
        if(pid == 0){
            close(listenfd);
            char buf[MAXLINE] = {0};
            while(1){
                int num = recv(confd, buf, MAXLINE, 0);
                if(num < 0){
                    close(confd);
                    perror("recv");
                    exit(1);
                }
                if(num == 0){
                    close(confd);
                    exit(1);
                }
                send(confd, buf, num, 0);
                memset(buf, 0, MAXLINE);
            }
        }
        close(confd);
    }
    return 0;
}
